Linking and Browsing Media on Television

ABSTRACT

Techniques for linking and browsing media on a television (TV) are provided. A selected program, which is associated with a channel of the TV, is detected and additional content, which is associated with that channel and/or the selected program, is dynamically acquired from one or more external sources. The additional content is formatted as links and simultaneously presented within a display of the TV along with the selected program that continues to play on the TV. Furthermore, activation of any link results in the additional content being dynamically acquired and presented within the display.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 11/400,345 filed Apr. 6, 2006, which isincorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

This application relates to media processing, and more specifically totechniques for linking and browsing media on television (TV).

BACKGROUND OF THE DISCLOSURE

Today's television (TV) experience is essentially linear; meaning that auser watching a particular channel is presented with time-sequencedinformation for that channel. Non-linearity may be introduced byswitching channels; thereby, moving to usually completely unrelatedcontent. Efforts to group content together, such as by organizing atheme within channel guides only identify a very loose correlationbetween such content.

Furthermore, current Interactive TV (ITV) may provide embedded links ina vertical blanking interval (VBI), but this contains only one link thattakes the viewer to that content identified by that link.

Thus, it is desirable to permit a TV viewer to experience information ina non-linearity fashion and to consume that information in a variety ofconvenient manners.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements and in which:

FIG. 1 is a diagram of a linking and browsing system, according to anexample embodiment of the disclosure.

FIG. 2 is a diagram of method for linking and browsing media withindisplay of a television (TV), according to an example embodiment of thedisclosure.

FIG. 3 is a diagram of another method for linking and browsing mediawithin a display of a TV, according to an example embodiment of thedisclosure.

FIG. 4 is diagram of yet another method for linking and browsing mediawithin a display of a TV, according to an example embodiment of thedisclosure.

FIG. 5 is a diagram of an example presentation within a display of a TVdepicting links for browsing and simultaneously viewing a currentprogram playing, according to an example embodiment of the disclosure.

FIG. 6 is a diagram of an example network architecture for devices,machines, services, systems, and instructions to interact and performany one or more of the methodologies discussed herein, according to anexample embodiment of the disclosure.

FIG. 7 is a diagram of an example machine architecture within which aset of instructions for causing the machine to perform any one or moreof the methodologies discussed herein may be executed, according to anexample embodiment of the disclosure.

DETAILED DESCRIPTION OF THE DRAWINGS

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of an embodiment of the present disclosure. It will beevident, however, to one skilled in the art that the present disclosuremay be practiced without these specific details.

FIG. 1 is a diagram of a linking and browsing system 100, according toan example embodiment of the disclosure. The linking and browsing system100 is implemented in a machine-accessible medium and is operationalover a network. The network may be wired, wireless, or a combination ofwired and wireless.

The linking and browsing system 100 includes a presenting service 101and an information augmentation service 102. According to an embodiment,the linking and browsing system 100 may also include a set-top box (STB)device 103. The components 101-103 interact with one another and drivepresentations viewed within a display of a television (TV) 104. Thevarious interactions described herein and below use one or more networks110 to communicate with content services 120 for purposes of dynamicallyand in real time acquiring additional content, which augmentsprogramming that may be playing on the TV 104. That is, content relatedto a current program playing on the TV 104 may be dynamically capturedin real time and presented simultaneously with the current programwithin a display of the TV 104. The components 101-103 and the variousinteractions will now be discussed in turn.

The program that is being augmented with additional content is notpre-tagged to identify or assimilate information included within thatprogram. That is, the stream associated with the program is notprefabricated and intelligently tagged. So, legacy programming orexisting programming that is devoid of any special codes or tagging maybenefit from the teachings presented herein and below. It is noted thatwith each of the discussed embodiments presented herein with respect tothe remaining FIGS. 1-7 the programming being augmented is notpre-tagged; or stated another way is untagged.

The presenting service 101 formats and arranges presentations within thedisplay of the TV 104. An example arrangement or presentation is shownand discussed below with respect to FIG. 5. One or more areas or frameswithin the display may play video or multimedia while other areas offrames may present still hypertext links, images, graphics, etc. Thesize and arrangement of the frames, which are presented within thedisplay, are configurable. The presenting service 101 may be used topopulate and to manage the presentations or frames.

According to an embodiment, the presenting service 101 visually formatsthe display of the TV 104 to simultaneously present the playing of acurrent program tuned or being played on the TV 104 along with linksthat identify additional content related to the current program. Thelinks when activated acquire and play the additional or related content.

In order for the presenting service 101 to acquire the additionalcontent to present with a current program within the display, thepresenting service 101 interacts with the information augmentationservice 102.

The information augmentation service 102 monitors selections beingplayed on the TV 104. According to an embodiment, the informationaugmentation service 102 is a network-based service that is independentof any particular STB 103, TV 104, or viewer. The informationaugmentation service 102 interacts with other processes executing on aviewer's STB 103 to determine a particular current channel for theviewer that is tuned on the TV 104 and other related metadata. Theinformation augmentation service 102 then interacts with a provider ofthat current channel or other external services to acquire additionalcontent using that metadata and simultaneously provides the additionalcontent to the presenting service 101.

According to still another embodiment, the information augmentationservice 102 executes as software instructions on a set-top-box (STB) 103interfaced to the TV 104. The STB 103 may be a cable device, a satellitedevice, a digital video recorder (DVR), a media server, a computer, orany other device capable of being interfaced the TV 104. In some cases,the information augmentation service 102 may be executing on a devicethat is remote from the TV 104 and is therefore located over a network110. Therefore, the information augmentation service 102 does not haveto be physically resident on a device that is proximate to the TV 104.

The information augmentation service 102 receives an instruction foraugmenting a current or desired program with additional content. Thereceipt of this instruction may occur in a variety of ways. For example,a remote control associated with the TV 104, the STB 103, or a remoteassociated with both the TV 104 and STB 103 may be used by a viewer ofthe TV 104 to request the additional content. A special key or button onthe remote (e.g., “info” button) may be activated by a viewer when aparticular program on a currently tuned channel is playing on the TV104.

Upon receipt of the request for the additional content, the informationaugmentation service 102 gathers metadata about the current programbeing played on the TV. In other words, a context of a program beingplayed is captured. So, if the current program is the seventh game ofthe World Series in Major League Baseball (MLB), the informationaugmentation service 102 may record the inning of the game (assuming itthis is provided in a metadata stream with the game), the channel forwhich the game is being played, the teams playing, the current time,and/or the current date. The context information, which is assembled inthe metadata, may be specific to the current program, specific to thedevices (STB 103 and/or TV 104); specific to the viewer, and/or specificto the channel provider that is supplying the current program.

Essentially, the information augmentation service 102 uses the metadatato construct a search query. The query is then externally submitted overone or more networks 110 to content services 120 for purposes ofacquiring additional content related to the search query. The searchquery embodies contextual information that is associated with thecurrent program being played on the TV 104.

In an embodiment, the information augmentation service 102 directlycontacts a World-Wide Web (WWW) portal or service over the Internet. TheWWW service is associated the channel provider, who supplies the currentprogram that is playing on the TV 104, when the information request wasreceived by detecting the current program and current channel for the TV104 at the time of the information request. The search, in this example,may be viewed as metadata, which may be expected by a channel providerservice for purposes of returning context sensitive and relatedinformation/content for the current program.

According to an embodiment, the information augmentation service 102 mayalso contact other information sources or content services 120 that arenot directly provided by or associated with the channel providerservice, who is supplying the current program playing on the TV 104.Thus, a variety of content services 120 may be consulted and searchedvia the metadata, which is dynamically assembled by the informationaugmentation service 102.

The results of the searching are returned and processed by theinformation augmentation service 102. The returned answer set may befiltered, ranked, and descriptive information supplied for each piece ofcontent. Moreover, the answer set may include a variety of media types,such as audio, video, graphics, images, text, or various combinations ofthe same (multimedia). The information augmentation service 102 maydownload the content, cache the content to memory associated with theSTB 103, or may leave the content at its source, which is external tothe local environment of the TV 104.

Each piece of content returned from the context-sensitive searching isassigned a link and descriptive information by the informationaugmentation service 102. The links are then supplied to the presentingservice 101, and the presenting service 101 alters the presentation ofthe display to provide a viewer an experience in which the currentprogram continues to play and the additional and related content issimultaneously presented in a configured area or frame of the display.

The viewer may then use a remote control device to select a desiredpiece of content. Upon selection of a particular piece of content, theinformation augmentation service 101 acquires the selected piece ofcontent from memory, storage, or externally acquires it over the network110 from one or more content services 120 who have it.

According to an embodiment, the selected piece of content is a video andthe information augmentation service 101 uses an Internet Protocol (IP)to stream the video from a content service 120 over the network 110(Internet) to a location within the display that was originally occupiedby the current program. The current program may then be minimized andmay continue to play within a different area of the displaypresentation. Alternatively, the current program may stop playing or maybe paused and a link may be displayed for reactivating the currentprogram when desired by the user.

As a further illustration of the linking and browsing system 100consider the following example scenario. A viewer has a TV 104 includinga STB 103 (e.g., DVR), both the TV 104 and the STB 103 may be controlledand managed via a remote control device. The STB 103 includes a varietyof services including the presenting service 101 and the informationaugmentation service 102. An “info” button on the remote controlactivates a feature of the information augmentation service 102 thatdynamically augments a current program with additional content from avariety of sources.

In continuing with the present example, the viewer may be watching atelevision movie, such as “The Rookie.” The movie is played on the FOX®network. After an elapsed time of about an hour into the movie, theviewer activates the “info” button. Once activated, the informationaugmentation service 102 formulates a variety of contextual informationas metadata. Some context information may include the name of the movie,the name of the viewer, an identifier for the STB 103, the elapsed timeinto the movie (1 hour), the television carrier service (e.g., AT&T,etc.). The metadata is then submitted over the network 110 to one ormore content services 120 that may be directly identified by FOX or maybe unrelated to FOX. The results of the query is a variety of relatedand additional content that is context sensitive, such as currentbaseball games being played on other channels, video archived classicbaseball games, website links to information about the movie and thecharacters, archived television shows that have referenced the movie orclips that reference the movie, geographic maps to locations depictedwithin the movie, and other related information. The additional contentis formulated as descriptive hypertext links and supplied to thepresenter service 101. The presenter service 101 then dynamicallyformats the presentation within the display to include the formattedlinks and simultaneously continues to play the Rookie on the TV 104display. The viewer may then activate one of the links and the presenterservice 101 dynamically alters the presentation to acquire the activatedcontent and to pause or relocate the movie.

The linking and browsing system 100 dynamically acquires additionalcontent that is related in context to a current program playing on a TV104. The related content is dynamically presented for selection within adisplay of the TV simultaneously with the current program. In somecases, the channel provider may provide content services 120 thatspecifically provide related information for its programs. In othercases, different content services 120 may be consulted for some of theadditional content. In fact, broad and generic Internet-based searchesmay be dynamically launched in the background by the informationaugmentation service for purposes of acquiring additional and relatedcontent to a current program playing on the TV 104.

It is now understood, how a viewer's TV experience may be altered toprovide a real-time and dynamic environment in which on demand contextsensitive content, which is related to what is being viewed on the TV104, may be dynamically delivered to a viewer's STB 103 or TV 104 ondemand in an integrated fashion.

FIG. 2 is a diagram of method 200 for linking and browsing media withindisplay of a television (TV), according to an example embodiment of thedisclosure. The method 200 (hereinafter referred to as “context deliveryservice”) is implemented in a machine-accessible and readable medium andis operational over a network. The network may be wired, wireless, or acombination of wired and wireless. In an embodiment, the contextdelivery service may be implemented in the linking and browsing system100 to perform various aspects of the presenting service 101 and theinformation augmentation service 102.

The context delivery service is designed to be activated by a commandreceived from a viewer. One technique for activating the contextdelivery service is a reserved button on a remote control device thatgiven the proper state contacts to wakes up the context delivery servicewhen that button is activated by a viewer. The processing of the contextdelivery service may reside on local devices that are directlyinterfaced to a particular viewer's television or may reside externallyover a network, such that the context delivery service is capable ofbeing processed locally or remotely.

Accordingly, at 210, the context delivery service receives aninformation request. The information request activates or wakes up thecontext delivery service for processing. Once activated and afterreceiving the instruction for processing, the context delivery servicedetects, at 220, a current channel tuned on the television of a viewerand acquires programming information related to that channel. That is, aprogramming guide channel or existing memory within a set-top box (STB)may be able to supply the context delivery service with informationabout what is playing on the current channel (current program playing onthe current channel).

At 230, the context delivery service contacts a channel providerassociated with the current channel to acquire additional contentrelated to the current program being played on the TV of the viewer.According to an embodiment, at 231, the context delivery service mayachieve this by contacting a WWW service or portal associated with thecurrent channel provider over the Internet. In fact, each channelprovider may have such a site that supplies dynamic and real timeadditional content when queried. The name of the site may bestandardized, such that if the name of the channel provider is known,then the name of the site is easily constructed. Policies may also beused to define the format of a search request for additional content.

In some cases, at 232, the context delivery service may add metadata tothe service request made to the current channel provider. The metadatasupplies a specific context or communicates a desired context for whichadditional information or content is being requested. The metadata mayinclude a variety of information, such as, by way of example only, anidentifier for the current program, a current date and time, a currentelapsed time into the playing of the current program (e.g., this may beuseful if the current program had been recorded and is being replayed bya viewer on the TV or with video on demand programming), a profile ofthe viewer, a profile of the viewer's TV, an identity of the viewer, andidentity of the TV, and identity of a STB associated with the TV, anidentity of the TV service provider (e.g., AT&T, etc.), a currentgeographic location of the TV or viewer, and the like. The profile mayalso be represented in anonymous fashion or manner as an anonymizedprofile to hide the true identity of the viewer. So, preferenceinformation maybe captured and the identity or anonymity of the viewerpreserved.

At 240, the context delivery service dynamically incorporates, within aportion of the TV's display, links for presenting or acquiringadditional content that is related to the current program playing on theTV's display. The additional content can be identified, at 250, in avariety of media formats, such as but not limited to, video on demandcontent, a Universal Resource Identifier (URI) or Universal ResourceLocator (URL), personalized content related to a personal multimediastore of the viewer, and a streaming piece of content located over theInternet.

As an example of additional related content that is simultaneouslypresented with a current program being viewed may be as follows. Aviewer is watching CNN®; the current program of CNN® shows a short clipof the Oscars®. Awards from a previous night. The viewer activates an“info” key on a remote and this activates the context delivery service,which is resident on the viewer's STB. The context delivery service (inthe background) contacts a content service of CNN® over the Internet andsupplies the current program (News) and date and time of request. Thisallows CNN® to determine that the clip on the Oscars® was playing whenthe request for additional content was received. The content servicereturns to the context delivery service a variety of links or contentrelated to the Oscars'® clip, such as a link to a video on demand (VOD)that is a complete recording of the prior night's Oscars'® show, a linkto a half-hour segment of the Oscars® in summary or news clip format, alink to a WWW site or page showing information about the winners of theOscars®, a link to a listing of the top VOD movies, a link to a VOD clipon Oscars® fashion trends, a link to a VOD clip of the history of theOscars®, etc. These related links for additional content aresimultaneously displayed on the display of the viewer's TV as CNN®continues to play.

In an embodiment, at 260, the context delivery service may detect that alink associated with the additional and related content has beenactivated by a viewer. This can occur via a remote control device thatis used to select and activate a particular link on the display of theTV. In response to the selection, the context delivery service acquiresthe content associated with the activated link. The content may bedownloaded already to a STB of the viewer or to cache or other storagelocal to the viewer's environment. Alternatively, the content may bedynamically streamed from its external source over a network. Thecontent is then populated, presented, and/or played within a portion ofthe display.

In one situation, at 261, the current program that was playing when theviewer activated a link for additional content may have occupied aparticular or existing location within the display, such that thecurrent program may continue to play in a different relocated positionor in a minimized format within the display even while the newlyselected additional content is played in the previous display locationthat the current program played in.

So, the additional content that is dynamically activated by the viewermay swap display locations with the current program or may assume thedisplay location of the current program. When the additional content isselected for play, the current program that was playing may continue toplay in a new position or may be paused or stopped and removed from thedisplay altogether or it may appear on the display as a link, which theviewer may reactivate to reacquire the current program when desired.

It is noted, at 270, that the context delivery service may also acquireadditional and related information from a variety of information orcontent services or sources. So, some or portions of the additionalcontent may be acquired from sources that are not related or associatedwith the current channel provider or the current program. As oneexample, some of the additional content may be advertisements. Theseadvertisements may include personalized ads and even perhaps coupons oreven personalized offers from local merchants (merchants geographicallyproximate within some predefined range of any given viewer).

Also as another set of optional processing, at 270, the context deliveryservice may rank order the additional content within the portion of thedisplay. This ranking or ordering may be based on fees paid oragreements made. So, link owners may compete to have their additionalcontent ranked or displayed with a higher order or in a morepreferential location with the display of the viewer.

FIG. 3 is a diagram of another method 300 for linking and browsing mediawithin a display of a TV, according to an example embodiment of thedisclosure. The method (hereinafter referred to as “linking and browsingservice”) is implemented in a machine-accessible and readable medium andis operational over a network. The network may be wired, wireless, or acombination of wired and wireless. The linking and browsing servicepresents a different perspective with different aspects for theprocessing depicted above with respect to the method 200 of the FIG. 2.

At 310, the linking and browsing service assembles metadata for acontent request. The content request occurs within the context of aparticular channel of a TV and that channel having a particularprogramming at the time of the request. The content request is anindication that a viewer desires to acquire related content orinformation associated with the current channel and/or programmingassociated with the request.

According to an embodiment, the current channel and current programmingare dynamically acquired when the content request is made in response tothe current tuned channel on the TV and the programming playing thereon.In another embodiment, the viewer may access a TV programming guide andselect a specific program or archived program (program previouslyplayed); this selection identifies a current or desired channel and adesired program even though the TV may not be tuned to that channel orplaying that program. In this manner, the current channel and currentprogram may be viewed as viewer selected channels or programs or may beviewed as dynamically acquired parameters based on a state of the TVwhen a content request is received from the viewer.

In an embodiment, at 311, the linking and browsing service assembles themetadata as one or more search constraints based on context of a currentchannel and/or current program at the time of the content request. Forexample, the metadata may include search constraints related to theviewer (e.g., preferences, profiles, etc.), constraints related to time,constraints related to geographic location, constraints related to a TVservice provider, categories associated with the current program, keyterms associated with the current program, recent viewing historyassociated with the TV or the viewer, and the like.

At 312, the search constraints may be used to search contentrepositories of the current channel provider service with variousportions of the metadata. So, if the current channel is CNN®, thenmetadata, which is assembled in context with the content request, may beused to search a CNN® content repository for additional related content.CNN® may be in a better position to organize and plan for certainadditional information or even advertisements to be associated with itsprogramming.

However, at 313, the linking and browsing service may actually expandthe request for additional related content beyond the current channelprovider. So, a plurality of external repositories or portals may becontacted or consulted over the Internet for purposes of providing otherrelated content to the viewer for a content request. In fact, in somecases, the viewer may have his/her own information repository that isindexed and available for searching, such that this local or perhapsexternal and personalized repository may be searched to augment theadditional content. Thus, a viewer's own library of information may beused to augment content being viewed on the TV.

In yet another embodiment, at 314, various portions of the metadata maybe assembled in response to a variety of dynamically acquiredinformation. For example, identifiers may provide profiles orconfiguration settings and these identifiers may be associated with theviewer, the TV, the STB, the remote device, and the like. A data store,memory, files (e.g., cookies) may be named using the identifiers, suchthat the linking and browsing service acquires a portion of the metadatafor any given content request by acquiring the identifiers and thenacquiring the profiles for the parties and devices involved.

At 320, the linking and browsing service submits the metadata andcontent request to a channel provider service for purposes of acquiringadditional content. The channel provider service is associated with thecurrent program and/or the current channel identified in the contentrequest. The processing scenarios with respect to this aspect werediscussed at length above with respect to the FIGS. 1 and 2 and withrespect to the processing 311-313.

At 330, the linking and browsing service formats the links for acquiringthe additional content. So, a search or request of the channel providerservice or of other external or perhaps personalized repositoriesresults in an answer set or listing of related content. Each piece ofrelated content is associated with a link and that link is formatted forpurposes of descriptively presenting it to the viewer within a displayof the TV.

Accordingly, at 340, the links are presented on the display of the TV.The viewer can then select the links as desired. This interaction withthe display of the TV permits the viewer to swap in and out contentwithin the display and move content around to various locations withinthe display. So, at 350, the presentations within the display of the TVare dynamically modified and segmented to reposition content as linksare activated vis-a-vis the current program and the vis-a-vis otherremaining links that are not selected.

FIG. 4 is diagram of yet another method 400 for linking and browsingmedia within a display of a TV, according to an example embodiment ofthe disclosure. The method 400 is implemented as instructions within amachine-accessible medium. The instructions when accessed by a machineperform the processing depicted in FIG. 4. The processing presentsanother alternative to the aspects presented above with respect to themethods 200 and 300 of the FIGS. 2 and 3.

The instructions may be implemented on a removable medium andsubsequently interfaced to a machine where the instructions are uploadedwithin the machine and processed. Alternatively, the instructions may beprefabricated within memory or storage of the machine and loaded forexecution when the machine is initiated or booted. In still anotherarrangement, the instructions may be downloaded from a network storagelocation or other network machine to a target machine on the network andprocessed. In yet another situation, the instructions may be remotelyprocessed over a network on one machine at the instruction and on behalfof another different network machine.

At 410, the instructions monitor channel selections of a particular TV.At 420, the instructions receive an information request from an inputdevice for a desired program or a desired channel. The informationrequest instruction originates from a viewer that is watching the TV. Inan embodiment, at 421, the request is acquired from a selective buttonon a remote control device associated with the TV and/STB of the viewer.

At 430, the instructions dynamically assemble information related to therequest. That is, context information associated with what was beingviewed or selected on the TV and information related to the environmentand/or profiles of the viewer and the parties or devices involved areused to assemble a search request or information related to the request.

At 440, the instructions dynamically and in real time mine externalsources or networks for additional content related to the desiredprogram and/or desired channel associated with the viewer's contentrequest. The assembled information, acquired in context, at 430 is usedto mine the external sources or networks for the additional content.

According to an embodiment, at 441, the instructions may dynamicallyconsult the channel provider service associated with the desired channeland/or desired program for at least a portion of the additional content.It is noted, that the instructions may also mine local sources, such aspersonalized data repositories of the viewer for some aspects of theadditional content. Moreover, a variety of external sources may beconsulted for some aspects of the additional content; some of thesesources may be entirely unrelated to the channel provider service.

At 450, the presentation within the display of the TV is dynamicallyaltered to identify links to the additional content for the user as orwhile the user continues to view what was playing on the TV at the timethe content request was made. At 451, the links are presented withdescriptive information, such that the viewer can readily discern whatthe content of the links is and decide whether the viewer wants toactivate or view the content.

According to an embodiment, at 460, the instructions may dynamically andsimultaneously stream media within a portion of the display, which isrelated to a selection of the additional content, while the desiredprogram continues to play in a different portion of the display. Avariety of display configurations may occur as additional content ispresented as links and selected for viewing within the display. Oneexample view is presented for purposes of illustration in FIG. 5.

FIG. 5 is a diagram of an example presentation within a display 500 of aTV depicting links 502 for browsing and simultaneously viewing a currentprogram playing 501, according to an example embodiment of thedisclosure. FIG. 5 is presented for purposes of illustration only andpresents an example configuration of a display that may be presented toa viewer in response to the techniques presented herein.

The video display area 501 may be used to present video that the vieweris playing. This may be a live TV feed from a current channel or may bea VOD selection or a previously recorded program that the user isplaying. The video display area 501 may also play video from an externalsource of the viewer, such as a media player, camera, etc.

Initially, the viewer may have the TV tuned to a given channel or may beplaying a desired program from a given channel or from an externalsource. When the viewer activates a request via a remote control device,then the processing and techniques presented herein and above take placeand the display 500 of the TV is altered. At this point in time, thecurrent program that was playing continues to play in area 501; theadditional related content is also presented as descriptive links 502within the display 500. The viewer may use the remote control to thenselect a given one of the links 502, this may result in a differentvideo or piece of content being played or presented in area 501, and theprevious playing program may be paused and/or presented as a link 502for reselection if desired by the viewer.

It is to be understood, that the display 500 may include more than onevideo play area 501, such that two or more videos may be playing at thesame time on the display 500. It is also understood that anyconfiguration and presentation may be achieved or customized to theliking or preference of the viewer.

FIGS. 6-7 are now presented for purposes of providing an example networkarchitecture and machine architecture for which devices can interact toachieve the teachings and techniques presented herein. This layout andconfiguration is presented for purposes of illustration only and is notintended to limit the embodiments presented herein.

FIG. 6 is a diagram of an example network architecture 600 for devices,machines, services, systems, and instructions to interact and performany one or more of the methodologies discussed herein, according to anexample embodiment of the disclosure.

FIG. 6 may also be viewed as an example multimedia distribution system600 that is implemented in accordance with at least one embodiment ofthe present disclosure. As shown, the system 600 includes a multimediacontent provider 602, a set-top box 604, a display device 606, aplurality of multimedia content sources, such as cable television source608, satellite television source 610, and IP network-based source 612.

In the illustrated embodiment, the content provider 602 and the set-topbox 604 are connected via a network 614, where the network 614 caninclude a cable television distribution network, a satellitedistribution network, a broadcast television distribution network, adata packet-based computer network (e.g., an Ethernet network), and thelike. Likewise, the content sources 608, 610, and 612 may be connectedvia one or more networks to the content provider 602.

As shown, the content provider 602 can include one or more interfaces618, 620, and 622 to interface with the content sources 608, 610, and612, respectively, and an interface 624 to interface with the set-topbox 604 via the network 614. The interfaces 618, 620, 622, and 624 mayinclude any of a variety of interfaces, such as a coaxial cableinterface, a wireless interface for receiving satellite or broadcasttransmissions, or a data packet network interface, such as an Ethernetinterface or a router. The IP Network based source 612 is shown to beconnected to a computer 615 over a network 613 (e.g., Internet) therebyproviding a communication path between a user operating the set-top box604 and a user operating the computer 615. The content provider 602further may include an EPG generation module 626 and a multimediacontent distribution module 628. The modules 626 and 628 may beimplemented as software, hardware, firmware, or combinations thereof. Toillustrate, the content provider 602 may include a memory 636 (e.g.,static random access memory (SRAM)) and one or more processors 638,where the modules 626 and 628 may be implemented in part or in whole asexecutable instructions stored in the memory 636 and executed by theprocessor 638 to perform the techniques described herein.

As also shown, the set-top box 604 may include an interface 640 forinterfacing with the content provider 602 via the network 614, a controlinterface 642 to receive user input and commands, (e.g., via a remotecontrol 644, a button panel 661, a microphone 662) and a displayinterface 646 to interface with the display device 606. The interface640 may include any of a variety of appropriate interfaces, such as acoaxial cable interface, a wireless interface to send and receivewireless transmissions, or a data packet-based network interface, suchas an Ethernet interface. The control interface 642 may include any of avariety of interfaces, such as an infrared interface, a wirelessinterface, or the button panel 661. The remote control 644 is shown toinclude a microphone 645 for receiving voice commands and the set-topbox 604 is also shown to include a microphone 662 for receiving voicecommands.

The set-top box 604 is further shown to be connected to a storage device666 (e.g., hard disk, compact disk, floppy, universal serial bus key,etc.) for storing files, a printer 668 for printing files, and a network664 (e.g., home network). The network 664, in one embodiment, mayconnect the set-top box 604 to a computer 674 that is connected to aninternet protocol phone 672, a storage device 670 for storing electronicfiles, and a printer 676. The set-top box 604 further may include aprocessing module 658, a receiving module 656, and a communicationmodule 651. The processing module 658, receiving module 656, andcommunication module 651 may be implemented as hardware, software,firmware, or combinations thereof. To illustrate, the set-top box 604may include a memory 654 and one or more processors 652, where one orboth of modules 648 and 650 are implemented as executable instructionsstored in memory 654 and executed by the processor 652 to implementtechniques described herein. The memory is further shown to includerules 655 that may be utilized to control the use of images that may becaptured from content that is displayed on the display device 606. Forexample the rules 655 may embodied as a digital rights managementlicense that may be distributed with content from the content source608, 610, and 612. As is well known in the art, the license may includerules 655 that may restrict the use of the associated content.

In a particular embodiment, the content provider 602 receives datarepresentative of multimedia channels from each of the different contentsources 608, 610, and 612, and provides data representative of at leasta subset of the multimedia channels to the set-top box 604 forprocessing and display at the display device 606 and/or output via anaudio device (not shown). In one embodiment, the content provider mayinclude a content module 609 that communicates data that includescontent and a control module 611 that may communicate data that includescontrol information (e.g., digital license) that may include a rule thatrestricts the use of associated content. Moreover, in a particularembodiment, the content provider 602 may provide data representative ofan electronic programming guide (EPG) 660 to the set-top box 604 forprocessing by the processing module 658 and for navigation by a user viathe control interface 642 and the processing module 658. As describedherein, the EPG 660, in one embodiment, represents a unified EPGincluding listings for the multimedia channels provided by two or morecontent sources that provide multimedia channels to the content provider302. To illustrate, in a particular embodiment, the EPG 360 represents anavigable program guide or user interface whereby a user, via the remotecontrol 644 or other input device, can direct the processing module 650to navigate between multimedia channels by selecting an icon or othergraphical representation of the desired channel as represented by agraphical display of the EPG 660. The EPG 660 may combinerepresentations of all of the multimedia channels from different contentsources in a single list or different lists for different contentsources may be displayed concurrently by the EPG 660. Moreover,multimedia channels may be organized within the EPG 660 based on any ofa variety of characteristics, such as by the program content of themultimedia channels, where the program content describes the genre orcategorization of the video/audio program represented by the multimediachannel. Examples of various genres or categories include a “comedy”genre, an “action” genre, a “family” genre or “children” genre, a“romance” genre, a “science-fiction” genre, and the like.

FIG. 7 is a diagram of an example machine architecture within which aset of instructions for causing the machine to perform any one or moreof the methodologies discussed herein may be executed, according to anexample embodiment of the disclosure.

Accordingly, FIG. 7 shows a diagrammatic representation of machine inthe example form of a computer system 700 within which a set ofinstructions, for causing the machine to perform any one or more of themethodologies discussed herein, may be executed.

In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a server computer, a client computer, a personal computer(PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant(PDA), a cellular telephone, a web appliance, a network router, switchor bridge, or any machine capable of executing a set of instructions(sequential or otherwise) that specify actions to be taken by thatmachine. Further, while only a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines thatindividually or jointly execute a set (or multiple sets) of instructionsto perform any one or more of the methodologies discussed herein.

The example computer system 700 includes a processor 702 (e.g., acentral processing unit (CPU) a graphics processing unit (GPU) or both),a main memory 704 and a static memory 706, which communicate with eachother via a bus 708. The computer system 700 may further include a videodisplay unit 710 (e.g., a liquid crystal display (LCD) or a cathode raytube (CRT)). The computer system 700 also includes an alphanumeric inputdevice 712 (e.g., a keyboard), a cursor control device 714 (e.g., amouse), a disk drive unit 716, a signal generation device 718 (e.g., aspeaker) and a network interface device 720.

The disk drive unit 716 includes a machine-readable medium 722 on whichis stored one or more sets of instructions (e.g., software 724)embodying any one or more of the methodologies or functions describedherein. The software 724 may also reside, completely or at leastpartially, within the main memory 704 and/or within the processor 702during execution thereof by the computer system 700, the main memory 704and the processor 702 also constituting machine-readable media.

The software 724 may further be transmitted or received over a network726 via the network interface device 720.

While the machine-readable medium 722 is shown in an example embodimentto be a single medium, the term “machine-readable medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring, encoding or carrying a set of instructions for execution by themachine and that cause the machine to perform any one or more of themethodologies of the present disclosure. The term “machine-readablemedium” shall accordingly be taken to include, but not be limited to,solid-state memories, optical and magnetic media, and carrier wavesignals.

The above description is illustrative, and not restrictive. Many otherembodiments will be apparent to those of skill in the art upon reviewingthe above description. The scope of embodiments should therefore bedetermined with reference to the appended claims, along with the fullscope of equivalents to which such claims are entitled.

The Abstract is provided to allow the reader to quickly ascertain thenature and gist of the technical disclosure. It is submitted with theunderstanding that it will not be used to interpret or limit the scopeor meaning of the claims.

In the foregoing description of the embodiments, various features aregrouped together in a single embodiment for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting that the claimed embodiments have more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Description of the Embodiments, with each claimstanding on its own as a separate exemplary embodiment.

What is claimed is:
 1. A server comprising: a memory to storeinstructions; and a controller coupled to the memory, wherein responsiveto executing the instructions, the controller performs operationscomprising: constructing a search query comprising contextualinformation associated with a media program presented by a programpresentation device, the contextual information formulated as metadata;transmitting the search query over a network to a content service;receiving from the content service, in response to the search query,additional content related in context to the media program; assigningdescriptive information to the additional content; and supplying theadditional content to the program presentation device, the additionalcontent formulated as a descriptive hypertext link.
 2. The server ofclaim 1, wherein the operations further comprise receiving aninformation request in accordance with input via the programpresentation device, and wherein the metadata comprises a date and atime the information request was received, a current elapsed time into aplaying of the media program, and an identifier of the media program. 3.The server of claim 2, wherein the input comprises a signal from aremote control device associated with the program presentation device.4. The server of claim 1, wherein the operations further comprisedynamically assembling the metadata to construct a search query fortransmission to a plurality of content services.
 5. The server of claim4, wherein the plurality of content services comprises a content serviceother than a content service supplying the media program.
 6. The serverof claim 1, wherein the operations further comprise supplying theadditional content to a cache associated with the program presentationdevice.
 7. The server of claim 1, wherein the additional contentcomprises a plurality of content items, and the operations furthercomprise ranking the content items and supplying descriptive informationfor each of the content items.
 8. The server of claim 7, wherein theoperations further comprise assigning a link to each of the contentitems.
 9. The server of claim 7, wherein the content items compriseaudio, video, graphics, images, text, or combinations thereof.
 10. Theserver of claim 1, wherein the operations further comprise directlycontacting a world-wide web portal to transmit the search query.
 11. Theserver of claim 1, wherein the program player comprises a set-top box,and wherein the server is coupled to the set-top box to dynamicallyaugment the media program with the additional content.
 12. A devicecomprising: a memory to store instructions; and a controller coupled tothe memory, wherein responsive to executing the instructions, thecontroller performs operations comprising: presenting a media programvia a presentation device; receiving an input comprising an informationrequest; generating, in response to the input, metadata associated withthe media program; transmitting the metadata to a server; receiving fromthe server additional content related in context to the media program,the additional content formulated as a descriptive hypertext link; andpresenting the hypertext link via the media presentation device.
 13. Thedevice of claim 12, wherein the metadata comprises a date and a time theinformation request was received, a current elapsed time into a playingof the media program, an identifier of the media program, and anidentifier of the device.
 14. The device of claim 12, wherein the inputcomprises a signal from a remote control device.
 15. The device of claim12, wherein the operations further comprise receiving the additionalcontent in a cache associated with the device.
 16. The device of claim12, wherein the additional content comprises a plurality of contentitems, and the content items comprise audio, video, graphics, images,text, or combinations thereof.
 17. The device of claim 12, wherein thedevice comprises a set-top box coupled to the presentation device andcoupled to the server.
 18. A device comprising: a memory to storeinstructions; and a controller coupled to the memory, wherein responsiveto executing the instructions, the controller performs operationscomprising: receiving a program from equipment of one of a plurality ofchannel providers that supply programs to a broadcaster; presenting theprogram at a display coupled to the set-top box, wherein the program ispresented in a video display area; receiving an information requestbased on receiving an input via a remote control device; detecting adate and a time the information request was received, a current elapsedtime into a playing of the program, and an identifier of the program;assembling metadata comprising the date and the time the informationrequest was received and the identifier of the program; transmitting themetadata to equipment of the channel provider that supplied the programto enable the channel provider to determine the context of what wasbeing presented by the program when the information request was receivedand to identify additional content related to the context of what wasbeing presented by the program at the current elapsed time into theplaying of the program; receiving from the equipment of the channelprovider the additional content related to the context of what was beingpresented by the program at the date and time the request was receivedand at the current elapsed time into the playing of the program andobtained from one of a world wide web service associated with thechannel provider and an Internet portal associated with the channelprovider, wherein at least a portion of the additional content iscontent being currently played on another channel, and wherein theadditional content includes archived television programs and geographicmaps selected according to the context; presenting selectable links toenable a presentation of at least a portion of the additional contentwithin the display, wherein the selectable links are presented in a linkdisplay area that is outside of the video display area; detecting aselection of a link from among the selectable links; acquiring contentfrom among the additional content that corresponds to the selected link;presenting in the video display area the acquired content in response tothe detecting of the selection of the link; removing the selected linkfrom the link display area in response to the detecting of the selectionof the link; ceasing to present the program in the video display area inresponse to the detecting of the selection of the link; in response tothe detecting of the selection of the link, generating anotherselectable link for reinstating presentation of the program in the videodisplay area upon selection of the other selectable link; and presentingthe other selectable link with the selectable links in the link displayarea without presenting any images of the program.
 19. The device ofclaim 18, wherein the operations further comprise identifying aplurality of different content types to associate with the selectablelinks received from the channel provider, wherein the different contenttypes comprise content related to video on demand content, a universalresource identifier for a world-wide web site, personalized contentrelated to a personal multimedia store of a viewer, advertisements,personal advertisements, or streaming media content accessible from theInternet.
 20. The device of claim 18, wherein the operations furthercomprise presenting the acquired content in accordance with digitalrights management rules distributed with streamed content from aninternet protocol networked based television source.